
	
	<template>
		<!-- ref动态生成: 字节跳动小程序编辑器不支持一个页面存在相同的ref (如不考虑字节跳动小程序可固定值为 ref="mescrollRef") -->
		<mescroll-uni :ref="'mescrollRef'+i" @init="mescrollInit" height="100%" top="60" :down="downOption"
			@down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
			<!-- 数据列表 -->
			<blog-list :list="newsList"></blog-list>
		</mescroll-uni>
	</template>
	
	<script>
		
		import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
			import MescrollMoreItemMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js";
			import {apiSearch} from "api/mock.js"
		
		export default {
			mixins: [MescrollMixin, MescrollMoreItemMixin], // 注意此处还需使用MescrollMoreItemMixin (必须写在MescrollMixin后面)
			data() {
				return {
					downOption: {
						auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
					},
					upOption: {
						auto: false // 不自动加载
					},
					newsList: [
						
					] //列表数据
				}
			},
			props: {
				i: Number, // 每个tab页的专属下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
				index: { // 当前tab的下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
					type: Number,
					default () {
						return 0
					}
				},
				tabs: { // 为了请求数据,演示用,可根据自己的项目判断是否要传
					type: Array,
					default () {
						return []
					}
				}
			},
			onLoad() {
		
				
			},
			methods: {
				/*下拉刷新的回调 */
				downCallback() {
					// 这里加载你想下拉刷新的数据, 比如刷新轮播数据
					// loadSwiper();
					// 下拉刷新的回调,默认重置上拉加载列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
					this.mescroll.resetUpScroll()
				},
				/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
				async upCallback(page) {
					//联网加载数据
					
					//分类id
					let categoryId = this.tabs[this.i]._id;
					console.log("@"+categoryId)
					let res = await uniCloud.callFunction({
						name: 'news', // 云函数名字
						data: {
							categoryId: categoryId,
							currentPage: page.num,
							pageSize: page.size
						}
					})
					console.log("返回数据@@", res.result);
					const curPageData = res.result.list;
					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
					this.mescroll.endSuccess(curPageData.length);
					//设置列表数据
					if (page.num == 1) this.newsList = []; //如果是第一页需手动制空列表
					this.newsList = this.newsList.concat(curPageData); //追加新数据
				},
				//点击空布局按钮的回调
				emptyClick() {
					uni.showToast({
						title: '点击了按钮,具体逻辑自行实现'
					})
				},
			
			}
		}
	</script>